

const target = {foo:'bar'};
const handler = {
  //可以拦截对象属性的访问
  get(target,key){
    console.log(`get ${key}`);//get foo
    return target[key];//return 'bar'
  },
  //拦截对象属性的设置
  set(target,key,value){
    console.log(`set ${key} ${value}`);
    target[key]=value;
  }
}
//target 要代理的目标对象
//handler 一个对象，其属性通常是当执行一个操作时定义的函数
const proxy = new Proxy(target,handler);
console.log(proxy.foo)
proxy.foo = 'world';
console.log(proxy.foo)
